home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / redakcyjne / programy / Tlen 6.0.1.12 pl / tleninst60112.exe / sdk / TlenSources / plugin / plugin_propertieswindow.h < prev    next >
C/C++ Source or Header  |  2006-08-30  |  5KB  |  140 lines

  1. #ifndef plugin_propertieswindowH
  2. #define plugin_propertieswindowH
  3.  
  4. #include <windows.h>
  5.  
  6. #include "plugin_contactlist_defs.h"
  7.  
  8. typedef struct {
  9.  
  10.   int structSize;        //wielko£µ struktury w bajtach
  11.  
  12.   HANDLE Handle;                //S│u┐y do │atwych zmian potem (caption, contact)
  13.  
  14.   char *WindowCaption;
  15.   TlenSingleImageDef WindowIcon;
  16.  
  17.   int WindowType;
  18.  
  19.   char *DefaultPageID;          //ID zak│adki, kt≤r╣ wy£wietliµ po stworzeniu okna
  20.   int Flags;
  21.  
  22.   ContactDef Contact;          //W przypadku properties id kontaktu i protokolu, jesli addwindow, to tylko protocolID jest valid (albo oba, vide dodawanie kontaktu tlenu, ktory nie ma autoryzacji)
  23.   char *ContactName;           //Gdy dodajemy kontakt, to taki string powinien umiescic w polu nazwa na liscie
  24.  
  25.   void *OwnerData;
  26. } TlenPropertiesWindowInfoDef;
  27.  
  28. #define TLEN_PROPERTIESWINDOW_WINDOWTYPE_PROPERTIES     1
  29. #define TLEN_PROPERTIESWINDOW_WINDOWTYPE_ADDCONTACT     2
  30.  
  31. #define TLEN_PROPERTIESWINDOW_FLAG_OKBUTTON             0x0001
  32. #define TLEN_PROPERTIESWINDOW_FLAG_APPLYBUTTON          0x0002
  33. #define TLEN_PROPERTIESWINDOW_FLAG_CANCELBUTTON         0x0004
  34. #define TLEN_PROPERTIESWINDOW_FLAG_SEARCHBUTTON         0x0008
  35. #define TLEN_PROPERTIESWINDOW_FLAG_ADDBUTTON            0x0010
  36.  
  37. #define TLEN_PROPERTIESWINDOW_FLAG_SIMPLEWINDOW         0x0100
  38.  
  39. typedef struct {
  40.  
  41.  int structSize;
  42.  
  43.  char *PageID;
  44.  char *ParentID; //jesli ma to byc w formie drzewa
  45.  
  46.  char *Name;
  47.  
  48.  int Flags;
  49.  
  50.  int Position; //kolejnosc na liscie, na razie nieuzywana
  51.  TlenSingleImageDef Icon; //Ikonka, ktora narysowac na liscie.
  52.  
  53.  TLENFUNCTION CallBackFunction; //funkcje ktora wywolac przy zdarzeniach
  54.  
  55.  void *OwnerData;
  56.  
  57. } TlenPropertiesPageDefinition;
  58.  
  59. #define TLEN_PROPERTIESPAGE_FLAG_TLENCOLOR     1
  60. #define TLEN_PROPERTIESPAGE_FLAG_ICONTRANS     2
  61. #define TLEN_PROPERTIESPAGE_FLAG_BMODE         4
  62.  
  63. typedef struct {
  64.  
  65.  int structSize;
  66.  
  67.  TlenPropertiesPageDefinition *Page; //klikniΩta zak│adka
  68.  TlenPropertiesWindowInfoDef *WinInfo; //Info o oknie w kt≤rym to klikniΩto
  69.  
  70.  int Action; //akcja
  71.  
  72.  HWND Handle; //w tym oknie umie£ciµ dialog
  73.  int x; //w tej pozycji
  74.  int y;
  75.  int width; //takie rozmiary
  76.  int height;
  77.  COLORREF bgColor; //kolor t│a okienka tlenowego
  78.  
  79.  int Flags;
  80.  
  81.  //dane OUT
  82.  char Caption[256];
  83.  char Description[1024];
  84.  TlenSingleImageDef Icon;
  85.  int UserFlag;
  86.  
  87. } TlenPropertiesPageShowInfo;
  88.  
  89. #define TLEN_PROPERTIESPAGESHOW_FLAG_ICONTRANS    0x0000001
  90. #define TLEN_PROPERTIESPAGESHOW_FLAG_DESTROYPAGE  0x1000000
  91.  
  92. #define TLEN_PROPERTIESPAGESHOW_ACTION_SHOW           1
  93. #define TLEN_PROPERTIESPAGESHOW_ACTION_HIDE           2
  94. #define TLEN_PROPERTIESPAGESHOW_ACTION_DESTROY        3
  95. #define TLEN_PROPERTIESPAGESHOW_ACTION_OK             4
  96. #define TLEN_PROPERTIESPAGESHOW_ACTION_APPLY          5
  97. #define TLEN_PROPERTIESPAGESHOW_ACTION_CANCEL         6
  98. #define TLEN_PROPERTIESPAGESHOW_ACTION_ADD            7
  99. #define TLEN_PROPERTIESPAGESHOW_ACTION_SEARCH         8
  100. #define TLEN_PROPERTIESPAGESHOW_ACTION_CONTACTCHANGE  9
  101. #define TLEN_PROPERTIESPAGESHOW_ACTION_ADVANCED       10
  102.  
  103. #define TLEN_PROPERTIESPAGESHOW_USERFLAG_NOSEARCH     0x0000001
  104. //HOOK:
  105. //Wszystkie moduly, ktore podepna sie pod ten hook beda mogly dodac swoje zakladki
  106. //po wywolaniu okna, tuz przed jego pokazaniem.
  107. #define TLEN_PROPERTIES_EVENT_ADDPAGES            "Tlen/PropertiesAddPages"
  108. //WPARAM: TlenPropertiesWindowInfoDef *
  109. //LPARAM: void * - przekazac do PAGEADD
  110.  
  111. #define TLEN_PROPERTIES_PAGEADD                   "Tlen/PropertiesPageAdd"
  112. //WPARAM: TlenPropertiesPageDefinition *
  113. //LPARAM: void * - z Hooka
  114.  
  115. #define TLEN_PROPERTIES_PERFORM_ACTION            "Tlen/PropertiesPerformAction"
  116. //WPARAM - ACTION
  117.  
  118. #define TLEN_PROPERTIES_ACTION_SHOW           1
  119. //LPARAM: TlenPropertiesWindowInfoDef *
  120.  
  121. #define TLEN_PROPERTIES_ACTION_CHANGEDATA     2
  122. //LPARAM: TlenPropertiesWindowInfoDef *
  123.  
  124. //ID - zakladki tlenowe
  125. #define PROPERTIES_PAGE_TLENEDITCONTACT         "Tlen/EditContact"
  126. #define PROPERTIES_PAGE_TLENADDCONTACT          "Tlen/AddContact"
  127. #define PROPERTIES_PAGE_GGEDITCONTACT           "GG/EditContact"
  128. #define PROPERTIES_PAGE_GGADDCONTACT            "GG/AddContact"
  129. #define PROPERTIES_PAGE_SMSEDITCONTACT          "SMS/EditContact"
  130. #define PROPERTIES_PAGE_SMSADDCONTACT           "SMS/AddContact"
  131. #define PROPERTIES_PAGE_GENERALEDITCONTACT      "General/EditContact"
  132. #define PROPERTIES_PAGE_GENERALADDCONTACT       "General/AddContact"
  133.  
  134. //--------------------------------------------------------------------------
  135. //Dodawanie kontaktu
  136.  
  137. #define TLEN_ADDCONTACTWINDOW_SHOW              "Tlen/AddContactWindow/Show"
  138.  
  139. #endif
  140.